package org.jeecg.modules.subject.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 题目表
 * @Author: jeecg-boot
 * @Date:   2021-08-15
 * @Version: V1.0
 */
@Data
@TableName("subject")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="subject对象", description="题目表")
public class Subject implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键ID,存UUID*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键ID,存UUID")
    private String id;
	/**题干*/
	@Excel(name = "题干", width = 15)
    @ApiModelProperty(value = "题干")
    private String subjectName;
	/**题型数据字典（1、单选题 2、多选题 3、判断题 4、填空题 5、简答题）填空题格式:*/
	@Excel(name = "题型数据字典（1、单选题 2、多选题 3、判断题 4、填空题 5、简答题）填空题格式:", width = 15, dicCode = "subject_type")
	@Dict(dicCode = "subject_type")
    @ApiModelProperty(value = "题型数据字典（1、单选题 2、多选题 3、判断题 4、填空题 5、简答题）填空题格式:")
    private String subjectType;
	/**题目内容图片（如存在复杂的代码则需要图片）xxxx___xxxx___;*/
	@Excel(name = "题目内容图片（如存在复杂的代码则需要图片）xxxx___xxxx___;", width = 15)
    @ApiModelProperty(value = "题目内容图片（如存在复杂的代码则需要图片）xxxx___xxxx___;")
    private String subjectImage;
	/**所属知识点id*/
	@Excel(name = "所属知识点id", width = 15)
    @ApiModelProperty(value = "所属知识点id")
    private String subjectCourseId;
	/**题目选项，存储Json格式数据如：[{“option”:”A”,” content”:”xxxxxx”},{“option”:”B”,” content”:”xxxxxx”},{“option”:”C”,” content”:”xxxxxx”},{“option”:”D”,” content”:”xxxxxx”}]*/
	@Excel(name = "题目选项，存储Json格式数据如：[{“option”:”A”,” content”:”xxxxxx”},{“option”:”B”,” content”:”xxxxxx”},{“option”:”C”,” content”:”xxxxxx”},{“option”:”D”,” content”:”xxxxxx”}]", width = 15)
    @ApiModelProperty(value = "题目选项，存储Json格式数据如：[{“option”:”A”,” content”:”xxxxxx”},{“option”:”B”,” content”:”xxxxxx”},{“option”:”C”,” content”:”xxxxxx”},{“option”:”D”,” content”:”xxxxxx”}]")
    private String subjectOption;
	/**答案，存储json格式数据，
单选题:[“A”]
多选题:[“A”,”B”]
判断题:[“true”]
填空题:[“xxx”,”xxxx”]简答题:没有答案*/
	@Excel(name = "答案，存储json格式数据")
    private java.lang.String subjectAnswer;
	/**题目难度1-5级，1级最低，5级最高。*/
	@Excel(name = "题目难度1-5级，1级最低，5级最高。", width = 15)
    @ApiModelProperty(value = "题目难度1-5级，1级最低，5级最高。")
    private java.lang.Integer subjectDifficulty;
	/**题目解析*/
	@Excel(name = "题目解析", width = 15)
    @ApiModelProperty(value = "题目解析")
    private java.lang.String subjectAnalysis;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
	/**更新时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private java.util.Date updateTime;
}
